package com.suray.wcs.service.system.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.suray.commin.core.utils.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * (WareHouseDB)实体类
 *
 * @author rongbj
 * @since 2020-02-18 13:29:13
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName(autoResultMap = true, value = "wcs_warehouse")
public class WareHouseDB extends BaseModel implements Serializable {
    private static final long serialVersionUID = 693657735397400099L;
    /**
     * 仓库主键
     */
    @TableId(value = "warehouse_id", type = IdType.AUTO)
    private Integer warehouseId;
    /**
     * 仓库名称
     */
    @NotNull(message = "仓库名称不可为空!")
    private String warehouseName;
    /**
     * 仓库编码 用于和其他系统交互
     */
    @NotNull(message = "仓库编码不可为空!")
    private String warehouseCode;
    /**
     * 此库区的地图版本
     */
    private Integer mapVersion;
    /**
     * 地图中Y增大方向对应的小车方向
     */
    private Integer mapDirection;
    /**
     * 地图旋转角度（0°，90°，180°，270°）
     */
    private Integer mapRotate;
    /**
     * 上位系统IP
     */
    private String wmsIp;
    /**
     * 上位系统端口
     */
    private String wmsPort;
    /**
     * 同层多车（0可以 1不可以）
     */
    private Boolean moreForOne;
    /**
     * 单机联机模式（0联机 1离线）
     */
    private String status;

    /**
     * 优先模式：0入库优先，1出库优先，2均衡模式，其他优先级加插入时间优先
     */
    private Integer priorityMode;
    /**
     * 同巷道任务只能分给同一个车
     */
    private Boolean singleRgvFlag;
    /**
     * 回缓存位标志：0不回缓存位，1回缓存位
     */
    private Boolean freeLocationFlag;

    /**
     * 入库和移库任务可以改变终点标识 0：否，1：是
     */
    private Boolean changeEndFlag;

    /**
     * 小车隔一段时间充电到最大电量时间
     */
    private Integer batteryTime;

    /**
     * 货架区域
     */
    private Integer minX;
    private Integer minY;
    private Integer maxX;
    private Integer maxY;

    /**
     * x增大为右
     */
    private Boolean sonRgvDirectionX;

    /**
     * y增大为右
     */
    private Boolean sonRgvDirectionY;

    /**
     * AGV地图角度（0°，90°，180°，270°）
     */
    private Integer agvMapRotate;

    /**
     * agv模式
     */
    private Boolean agvMode;

    /**
     * x增大为右
     */
    private String accessToken;

    /**
     * 钉钉消息推送密钥
     */
    private String secret;

    /**
     * 任务超时提醒时间阈值（分钟）
     */
    private Integer taskdbCheckTime;

    /**
     * 跑码（关闭 1. 开启）
     */
    private String runFlag;

    /**
     * 是否是开发模式(1：是，0：不是)
     */
    private String debugModel;

}
